import { createApp, inject, provide } from 'vue'
import './assets/main.scss'
import router from './router';
import App from './App.vue'

const app = createApp(App);

// 时间处理
import dayjs from 'dayjs';
app.config.globalProperties.$dayjs = dayjs;
app.provide('$dayjs',dayjs)

// 全局组件注册
import {registerComs} from './utils/registerGlobalComponents.js'
app.use(registerComs)

// 处理字符串
import handleStr from './utils/handleStr.js'
// vue3写法:
app.provide('$handleStr',handleStr) //使用provide  提供全局对象。其他组件中获取该对象的方法：  const $handleStr = inject('$handleStr')
// vue2写法：
app.config.globalProperties.$handleStr = handleStr; //挂载到原型链上 提供全局对象。 其他组件中获取该对象的方法： this.$handleStr


// 设置主题颜色
localStorage.setItem('theme','dark');
// 添加主题色
const theme = localStorage.getItem('theme');
if (theme == 'dark') {
    document.querySelector('body')?.classList.add('theme-dark');
} else if (theme == 'light') {
    document.querySelector('body')?.classList.add('theme-light');
}
app.use(router).mount('#app')
